package fr.p10.miage.robot;

public class Tri2 extends Tri {

	@Override
	public int[] execTri(int leTableau[]) {
		int gauche, droite, millieu, i, j;
		Comparable<Integer> temp;
		int tampon = 0;

		for (i = 0; i < leTableau.length; i++) {
			temp = leTableau[i];
			gauche = 0;
			droite = i;
			while (gauche < droite) {
				millieu = (gauche + droite) / 2;
				if ((temp.compareTo(leTableau[millieu])) > 0) {
					gauche = millieu + 1;
				} else {
					droite = millieu;
				}
			}

			for (j = i; j > gauche; j--) {
				tampon = leTableau[j - 1];
				leTableau[j - 1] = leTableau[j];
				leTableau[j] = tampon;
			}
		}
		return leTableau;
	}
}